package com.token.sysorg.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 组织架构-角色
 * @author 代码创建
 */
public class FSysRole extends AbstractTableBean {

	private int SysId; //租户ID
	private String SysAddTime; //创建时间
	private String SysAddUser; //创建人
	private String SysEditTime; //修改时间
	private String SysEditUser; //修改人
	private int RoleRange; //角色范围
	private String OrganizationID; //所属组织ID
	private String OrganizationName; //所属组织描述
	private int RoleType; //角色类别
	private String RoleNumber; //角色编号
	private String RoleName; //角色名称
	private String RoleExplain; //角色说明
	private int RoleOrder; //排序

	public static String TABLE_NAME = "F_Sys_Role";
	public static String TABLEKEY_NAME = "RoleID";
	public FSysRole (IntegrateSql f){
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
	}

	public FSysRole (IntegrateSql f,ResultSet rs) throws SQLException{
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
		this.initParamToRs(rs);
	}

	public FSysRole (IntegrateSql f,String keyValue) throws SQLException{
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
		setCodePrepare(selectCodeById().toString());
		prepareSql.setPstValue(1, keyValue);
		ResultSet rs = executeQuery();
		if(rs.next()){
			initParamToRs(rs);
		}else{
			initParam();
		}
		rs.close();
	}

	@Override
	protected void initParam() {
		SysId = 0; //租户ID
		SysAddTime = ""; //创建时间
		SysAddUser = ""; //创建人
		SysEditTime = ""; //修改时间
		SysEditUser = ""; //修改人
		RoleRange = 0; //角色范围
		OrganizationID = ""; //所属组织ID
		OrganizationName = ""; //所属组织描述
		RoleType = 0; //角色类别
		RoleNumber = ""; //角色编号
		RoleName = ""; //角色名称
		RoleExplain = ""; //角色说明
		RoleOrder = 0; //排序
	}


	public void initParamToRs(ResultSet rs) throws SQLException{
		SysId = rs.getInt("SysId"); //租户ID
		SysAddTime = rs.getString("SysAddTime"); //创建时间
		SysAddUser = rs.getString("SysAddUser"); //创建人
		SysEditTime = rs.getString("SysEditTime"); //修改时间
		SysEditUser = rs.getString("SysEditUser"); //修改人
		RoleRange = rs.getInt("RoleRange"); //角色范围
		OrganizationID = rs.getString("OrganizationID"); //所属组织ID
		OrganizationName = rs.getString("OrganizationName"); //所属组织描述
		RoleType = rs.getInt("RoleType"); //角色类别
		RoleNumber = rs.getString("RoleNumber"); //角色编号
		RoleName = rs.getString("RoleName"); //角色名称
		RoleExplain = rs.getString("RoleExplain"); //角色说明
		RoleOrder = rs.getInt("RoleOrder"); //排序
		this.setKeyId(rs.getString("RoleID"));
	}


	@Override
	protected int appendData() throws SQLException {
		int i = 1;
		prepareSql.setPstValue(i++,SysId); //租户ID
		prepareSql.setPstValue(i++,SysAddTime); //创建时间
		prepareSql.setPstValue(i++,SysAddUser); //创建人
		prepareSql.setPstValue(i++,SysEditTime); //修改时间
		prepareSql.setPstValue(i++,SysEditUser); //修改人
		prepareSql.setPstValue(i++,RoleRange); //角色范围
		prepareSql.setPstValue(i++,OrganizationID); //所属组织ID
		prepareSql.setPstValue(i++,OrganizationName); //所属组织描述
		prepareSql.setPstValue(i++,RoleType); //角色类别
		prepareSql.setPstValue(i++,RoleNumber); //角色编号
		prepareSql.setPstValue(i++,RoleName); //角色名称
		prepareSql.setPstValue(i++,RoleExplain); //角色说明
		prepareSql.setPstValue(i++,RoleOrder); //排序
		return i;
	}


	@Override
	public Vector<String> getFields() {
		Vector<String> vec = new Vector<String>();
		vec.addElement("SysId"); //租户ID
		vec.addElement("SysAddTime"); //创建时间
		vec.addElement("SysAddUser"); //创建人
		vec.addElement("SysEditTime"); //修改时间
		vec.addElement("SysEditUser"); //修改人
		vec.addElement("RoleRange"); //角色范围
		vec.addElement("OrganizationID"); //所属组织ID
		vec.addElement("OrganizationName"); //所属组织描述
		vec.addElement("RoleType"); //角色类别
		vec.addElement("RoleNumber"); //角色编号
		vec.addElement("RoleName"); //角色名称
		vec.addElement("RoleExplain"); //角色说明
		vec.addElement("RoleOrder"); //排序
		return vec;
	}


	/**
	 * 设置租户ID
	 * @param sysid
	 */
	public void setSysId(int sysid){
		SysId = sysid;
	}
	/**
	 * 获取SysId
	 * @return 租户ID
	 */
	public int getSysId(){
		return SysId;
	}

	/**
	 * 设置创建时间
	 * @param sysaddtime
	 */
	public void setSysAddTime(String sysaddtime){
		SysAddTime = sysaddtime;
	}
	/**
	 * 获取SysAddTime
	 * @return 创建时间
	 */
	public String getSysAddTime(){
		return SysAddTime;
	}

	/**
	 * 设置创建人
	 * @param sysadduser
	 */
	public void setSysAddUser(String sysadduser){
		SysAddUser = sysadduser;
	}
	/**
	 * 获取SysAddUser
	 * @return 创建人
	 */
	public String getSysAddUser(){
		return SysAddUser;
	}

	/**
	 * 设置修改时间
	 * @param sysedittime
	 */
	public void setSysEditTime(String sysedittime){
		SysEditTime = sysedittime;
	}
	/**
	 * 获取SysEditTime
	 * @return 修改时间
	 */
	public String getSysEditTime(){
		return SysEditTime;
	}

	/**
	 * 设置修改人
	 * @param sysedituser
	 */
	public void setSysEditUser(String sysedituser){
		SysEditUser = sysedituser;
	}
	/**
	 * 获取SysEditUser
	 * @return 修改人
	 */
	public String getSysEditUser(){
		return SysEditUser;
	}

	/**
	 * 设置角色范围
	 * @param rolerange
	 */
	public void setRoleRange(int rolerange){
		RoleRange = rolerange;
	}
	/**
	 * 获取RoleRange
	 * @return 角色范围
	 */
	public int getRoleRange(){
		return RoleRange;
	}

	/**
	 * 设置所属组织ID
	 * @param organizationid
	 */
	public void setOrganizationID(String organizationid){
		OrganizationID = organizationid;
	}
	/**
	 * 获取OrganizationID
	 * @return 所属组织ID
	 */
	public String getOrganizationID(){
		return OrganizationID;
	}

	/**
	 * 设置所属组织描述
	 * @param organizationname
	 */
	public void setOrganizationName(String organizationname){
		OrganizationName = organizationname;
	}
	/**
	 * 获取OrganizationName
	 * @return 所属组织描述
	 */
	public String getOrganizationName(){
		return OrganizationName;
	}

	/**
	 * 设置角色类别
	 * @param roletype
	 */
	public void setRoleType(int roletype){
		RoleType = roletype;
	}
	/**
	 * 获取RoleType
	 * @return 角色类别
	 */
	public int getRoleType(){
		return RoleType;
	}

	/**
	 * 设置角色编号
	 * @param rolenumber
	 */
	public void setRoleNumber(String rolenumber){
		RoleNumber = rolenumber;
	}
	/**
	 * 获取RoleNumber
	 * @return 角色编号
	 */
	public String getRoleNumber(){
		return RoleNumber;
	}

	/**
	 * 设置角色名称
	 * @param rolename
	 */
	public void setRoleName(String rolename){
		RoleName = rolename;
	}
	/**
	 * 获取RoleName
	 * @return 角色名称
	 */
	public String getRoleName(){
		return RoleName;
	}

	/**
	 * 设置角色说明
	 * @param roleexplain
	 */
	public void setRoleExplain(String roleexplain){
		RoleExplain = roleexplain;
	}
	/**
	 * 获取RoleExplain
	 * @return 角色说明
	 */
	public String getRoleExplain(){
		return RoleExplain;
	}

	/**
	 * 设置排序
	 * @param roleorder
	 */
	public void setRoleOrder(int roleorder){
		RoleOrder = roleorder;
	}
	/**
	 * 获取RoleOrder
	 * @return 排序
	 */
	public int getRoleOrder(){
		return RoleOrder;
	}

}
